#ifndef DIFFUSE_IBL_SAMPLE_H
#define DIFFUSE_IBL_SAMPLE_H
#include "SampleBase.h"
#include "glslprogram.h"
#include "objmesh.h"
#include "skybox.h"
#include <glm\glm.hpp>
namespace ShaderLab {

	class DiffuseIBLSample : public SampleBase {
	public:
		DiffuseIBLSample();
		~DiffuseIBLSample();

		void Init();
		void Update(float time);
		void Render();
		void Imgui();
		void ShutDown();
	private:
		void CreateShader();
	private:
		GLSLProgram program, sbProgram;
		GLuint diffCube, colorTex, cube;

		std::unique_ptr<ObjMesh> mesh;
		std::unique_ptr<SkyBox> skyBox;
		glm::mat4 model, view, projection;
	};
}
#endif // !TEMPLATE_SAMPLE_H
